﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Linq.Expressions;
using System.ComponentModel;
using System.Collections.ObjectModel;

namespace RuleSet {
    public sealed class Disjunction<T> : BaseRule ,INotifyPropertyChanged where T:class {
        private ObservableCollection<BaseRule> _ChildRuleCollection = new ObservableCollection<BaseRule>();
        /// <summary>
        /// Child Rule Collection
        /// </summary>
        public ObservableCollection<BaseRule> ChildRuleCollection {
            get {
                return _ChildRuleCollection;
            }
            set {
                _ChildRuleCollection = value;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("ChildRuleCollection"));
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }
}
